Global Navigation Satellite Systems (GNSS) include the Global Positioning System (GPS), the Glonass system, and the proposed Galileo system. Each GPS satellite transmits continuously using two radio frequencies in the L-band, referred to as L1 and L2, at respective frequencies of 1575.41 MHz and 1227.60 MHz. Two signals are transmitted on L1, one for civil users and the other for users authorized by the United States Department of Defense (DoD). One signal is transmitted on L2, intended only for DoD-authorized users. Each GPS signal has a carrier at the L1 and L2 frequency, a pseudo-random number (PRN) code, and satellite navigation data. Two different PRN codes are transmitted by each satellite: a coarse acquisition (C/A) code and a precision (P/Y) code which is encrypted for DoD-authorized users. Each C/A code is a unique sequence of 1023 bits, which is repeated each millisecond.
FIG. 1 schematically illustrates a typical prior-art scenario to determine the position of a mobile receiver (rover). Rover 100 receives GPS signals from any number of satellites in view, such as SV1, SV2, and SVM, shown respectively at 110, 120 and 130. The signals pass through the earth's ionosphere 140 and through the earth's troposphere 150. Each signal has two frequencies, L1 and L2. Receiver 100 determines from the signals respective pseudo-ranges, PR1, PR2, . . . , PRM, to each of the satellites. Pseudo-range determinations are distorted by variations in the signal paths which result from passage of the signals through the ionosphere 140 and the troposphere 150, and from multipath effects, as indicated schematically at 160.
Pseudo-range can be determined using the C/A code with an error of about one meter, a civil receiver not using the military-only P/Y code determines rover position with an error in the range of meters. However, the phases of the L1 and L2 carriers can be measured with an accuracy of 0.01-0.05 cycles (corresponding to pseudo-range errors of 2 mm to 1 cm), allowing relative position of the rover to be estimated with errors in the range of millimeters to centimeters. Accurately measuring the phase of the L1 and L2 carriers requires a good knowledge of the effect of the ionosphere and the troposphere for all observation times.
Network solutions using multiple reference stations of known location allow correction terms to be extracted from the signal measurements; those corrections can be interpolated to all locations within the network. See for example U.S. Pat. No. 5,477,458 “Network for Carrier Phase Differential GPS Corrections” and U.S. Pat. No. 5,899,957 “Carrier Phase Differential GPS Corrections Network.”
FIG. 2 illustrates a network technique in which N ground-based reference stations of known location 211, 212, 213, 21N receive GNSS signals from M satellites 221, 222, . . . , 22M. The GNSS signals are perturbed by the ionosphere 230, by the troposphere 235 and by multipath effects. Each reference station n knows its own location precisely, and uses GNSS signal measurements of the current epoch and its known location to calculate a residual error with respect to each satellite m. In this way each reference station n obtains a pseudorange correction (PRC(t; t0; n; m)) for each observed satellite m. These corrections are transmitted to a central station 240 which lies within or outside of the network. Central station 240 calculates pseudorange corrections for a location close to the rover's last position and sends these to the rover. The rover can use the pseudorange corrections to improve its current position estimate.
A conventional approach to processing of data from the network reference station is to apply the reference-station data to a centralized Kalman filter having a large number of states. A disadvantage of this approach is that processing times are long, and become impractical for real-time estimation of network corrections as the number of reference stations and Kalman filter states become very large.
U.S. Patent Application Publication 2005/0101248 A1 describes techniques which employ factorized processing of GNSS signal data. The processing is divided between separate filters which include a single geometry filter and a bank of geometry-free filters. In these techniques, all the geometric-related information, such as ionospheric-free carrier-phase ambiguities from all reference stations and satellites, tropospheric effect, orbit error, receiver and satellite clock errors are estimated in a single, large, centralized Kalman filter. Although this approach provides an optimal solution to the estimation problem, the processing time increases cubically with the number of reference stations in the network. Currently a single personal computer can only process data in real time from a network having no more than fifty reference stations.